The invention relates to managing message queues.
Message queues can be used to provide an asynchronous communication protocol for access entities (e.g., servers, operating systems, software modules, etc.) to exchange messages. Messages placed onto a message queue are stored in a queue data structure until a recipient (e.g., a subscriber to the message queue) retrieves them.
A message queue system may provide “durability” to ensure that messages do not get lost in the event of a system failure (or that any lost messages can be recovered). One way to achieve durability is to synchronize messages stored in volatile memory with a nonvolatile memory, for example, after a given number of incoming messages or bytes of data are received.